#ifndef __GAME_OBJECT_MODEL_H__
#define __GAME_OBJECT_MODEL_H__


#include "../Global.h"


class CircleSegmentInfo
{
public:
	CircleSegmentInfo() : m_iType(0) , m_fRadius(0) , m_iColorType(0)
	{

	}

	virtual ~CircleSegmentInfo( )
	{

	}


	CREATE_SET_GET( int , m_iType , Type );
	CREATE_SET_GET( int , m_iColorType , ColorType);
	CREATE_SET_GET( float , m_fRadius , Radius );
};


class CircleInfo
{
public :
	CircleInfo( ) : m_fAngle(0)
	{
		m_pListSegment = new LStaticArray<CircleSegmentInfo>();
		m_pListSegment->init(8);
	}

	virtual ~CircleInfo( )
	{
		if( m_pListSegment ){
			delete m_pListSegment;
		}
	}

	CREATE_SET_GET( float , m_fAngle , Angle );
	CREATE_SET_GET( LStaticArray<CircleSegmentInfo>* , m_pListSegment , ListSegment );
};


class CircleOrbitInfo
{
public:
	CircleOrbitInfo() : m_fSpeed(0)
	{
		m_pListCircle = new LStaticArray<CircleInfo>();
		m_pListCircle->init(8);
	}

	virtual ~CircleOrbitInfo( )
	{
		if( m_pListCircle ){
			delete m_pListCircle;
		}
	}

	CREATE_SET_GET( float , m_fSpeed , Speed );
	CREATE_SET_GET( LStaticArray<CircleInfo>* , m_pListCircle , ListCircle );
};

/*
kColorTypeRed,
	kColorTypeYellow,
	kColorTypeBlue,
	kColorTypePurple,
	kColorTypeGreen
*/


class ColorChanceInfo
{
public:
	ColorChanceInfo( ) : 
		m_fRedChance(0),
		m_fYellowChance(0),
		m_fBlueChance(0),
		m_fPurpleChance(0),
		m_fGreenChance(0)
	{

	}

	ColorChanceInfo( float redChance , float yellowChance , float blueChance , float purpleChance , float greenChance ) :
		m_fRedChance(redChance),
		m_fYellowChance(yellowChance),
		m_fBlueChance(blueChance),
		m_fPurpleChance(purpleChance),
		m_fGreenChance(greenChance)
	{

	}

	virtual ~ColorChanceInfo( )
	{

	}

	CREATE_SET_GET( float , m_fRedChance , RedChance );
	CREATE_SET_GET( float , m_fYellowChance , YellowChance );
	CREATE_SET_GET( float , m_fBlueChance , BlueChance );
	CREATE_SET_GET( float , m_fPurpleChance , PurpleChance );
	CREATE_SET_GET( float , m_fGreenChance , GreenChance );
};


#endif